Decisões do projeto
Data | Versão | Descrição |
---|---|---|
28/08/2023 | 0.1 | Criação do documento e Decisões Iniciais |
Tecnologias
Aplicativo android
Para as tecnologias do aplicativo Android escolhemos as seguintes tecnologias:
- Kotlin: devido a sua recomendação pela Google
- Android jetpack: por facilitar o desenvolvimento
Ademais, utilizaremos o Android Studio como ambiente de desenvolvimento.
Servidor
Para as tecnologias do servidor escolhemos as seguintes tecnologias:
- TypeScript: devido a tipagem estática que facilitará a produção de código ao longo do projeto
- NestJS: pela facilidade de desenvolver usando o framework e pela integração com o swagger
- TypeORM: integração com TypeScript e Postgresql
- Vitest: devido a sua alta performance e integração com o TypeScript
- Eslint: consistência de estilo e boas práticas
Banco de dados
Para a tecnologia do banco de dados optamos por escolher o Postgresql como tecnologia para o banco de dados devido a nossa familiaridade com ele, por implementar um modelo relacional no banco de dados e por ter integração com a biblioteca de ORM escolhida para o servidor.
Ferramentas
Github
Decidimos utilizar o Github para armazenar o código tanto do front-end quanto do back-end e também iremos utilizar a funcionalidade do Github Actions para automação de testes, checagem de linter e deploy automático.
Hospedagem
Servidor
Escolhemos o Fly por ser uma ferramenta de hospedagem gratuita que possui máquinas para hospedagem no Brasil e possui uma configuração fácil e intuitiva.